package com.lamatek.tags.google.beans;

/**
 * IPCoder
 * @author Tom Cole
 * @version 0.40
 * 
 * This is the parent interface of all IP based geocoders used in the
 * GoogleMaps JSP Taglibrary.
 */
public interface IPCoder {
    /**
     * Sets the ip address to geocode.
     * 
     * @param ip The IPv4 or IPv6 address to geocode.
     */
    public abstract void setIp(String ip);
    /**
     * Attempts to geocode the current IP address.
     * 
     * @return True if the IP was geocoded or false if it was not.
     */
    public abstract boolean geocode();
    /**
     * Returns the longitude (in decimal form) of the IP as a double.
     * 
     * @return Longitude as a double.
     */
    public abstract double getLongitude();
    /**
     * Returns the latitude (in decimal form) of the IP as a double.
     * 
     * @return Latitude as a double.
     */
    public abstract double getLatitude();

}
